/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package questao06;

/**
 *
 * @author SDKW
 */
enum NiveisVelocidade {
    Parado, Correndo, Turbo1, Turbo2
}
public class JogoDeCorrida {
    
    private NiveisVelocidade nivelVelocidadeAtual = NiveisVelocidade.Parado;
    
    public void acelerar() {
        switch(nivelVelocidadeAtual) {
            case Parado: {
                nivelVelocidadeAtual = NiveisVelocidade.Correndo;
            } break;
            case Correndo: {
                nivelVelocidadeAtual = NiveisVelocidade.Turbo1;
            } break;
            case Turbo1:
            case Turbo2: {
                nivelVelocidadeAtual = NiveisVelocidade.Turbo2;
            } break;
        }
        System.out.println("\tAcelerando... Nível de Velocidade: " + nivelVelocidadeAtual);
    }
    
    public void freiar() {
        switch(nivelVelocidadeAtual) {
            case Parado:
            case Correndo: {
                nivelVelocidadeAtual = NiveisVelocidade.Parado;
            } break;
            case Turbo1: {
                nivelVelocidadeAtual = NiveisVelocidade.Correndo;
            } break;
            case Turbo2: {
                nivelVelocidadeAtual = NiveisVelocidade.Turbo1;
            } break;
        }
        System.out.println("\tFreiando... Nível de Velocidade: " +  nivelVelocidadeAtual);
    }
}
